Trisomorphic rendering
https://gyazo.com/0ac03e8c287696f800812ad1d7b53c1a
If service workers are an option for you, “trisomorphic” rendering may also be of interest. It's a technique where you can use streaming server rendering for initial/non-JS navigations, and then have your service worker take on rendering of HTML for navigations after it has been installed. This can keep cached components and templates up to date and enables SPA-style navigations for rendering new views in the same session. This approach works best when you can share the same templating and routing code between the server, client page, and service worker. ref 1. 最初にSSRでデータを持ってきて(できればstreaming renderがよい)
2. SSRでHTML表示した後はService WorkerをInstallして、navigationは基本SWを介して行い、HTMLはキャッシュしておく。
3. CSRになったらSWを介してnavigateし、cacheを使うと。 ref